iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0
ChatGPT & Codex

AI 時代的輕量化開發:ChatGPT 打造 LINE 多模態記帳與續訂預警 Agent系列 第 3

[Day 03] 從本地走向雲端!Git 版本控制與 Flask API 成功部署 Render 實錄

  • 分享至 

  • xImage
  •  

前言

昨天我們在本地電腦成功跑出了第一個 Flask 後端,看到了經典的 SubWise Backend is running!。但如果只留在本地,LINE 的伺服器是無法存取我們電腦中的 127.0.0.1 的。
為了讓 SubWise 能在雲端運作,今天 Day 03 的目標非常明確:學習 Git 版本控制、將程式碼託管至 GitHub,並一鍵自動部署至 Render 免費雲端平台!今天這一步,讓我真正體會到了現代軟體開發中「持續整合與部署(CI/CD)」的魅力。


為什麼不直接部署,要先學 Git 與 GitHub?

在剛接觸開發時,常常會想:「為什麼不能直接把檔案傳到 Render?」經過今天的實作才明白,業界標準的開發架構是這樣的:

[ 本地 VS Code ] ──(Git Commit)──► [ GitHub 倉庫 ] ──(Auto Deploy)──► [ Render 雲端 ]

  • 版本快照(Snapshot):有了 Git,每次修改都是一張快照,程式改壞了隨時能搭時光機還原。
  • 自動化部署:未來只要把程式碼 git push 到 GitHub,Render 就會自動抓取最新版本並重新部署,完全不需要手動上傳檔案!

今日實作實錄:四階段邁向雲端 API

階段一:初始化本地 Git 與 .gitignore 安全防護

在 Terminal 執行 git init 開啟版本控制。身為開發者,保護敏感資訊是第一要務!我們必須確保昨天申請到的 API Key(.env)與龐大的虛擬環境(venv/)不會被公開,因此在 .gitignore 檔案中確認並追加忽略設定:

venv/
.env
pycache/
*.pyc
.vscode/ # 新增:忽略本地編輯器設定檔,保持 Repository 乾淨

確認 git status 排除了敏感檔案後,執行 git add .git commit -m "Day 03: Initialize SubWise Flask project",成功留下人生第一個版本快照!

實作結果呈現:
https://ithelp.ithome.com.tw/upload/images/20260804/20178527rK1ZcbMY2R.png

階段二:建立 GitHub 遠端倉庫並同步

在 GitHub 上建立一個新的 Public 倉庫 subwise-line-bot(保持乾淨,不安裝預設 README),綁定遠端地址並將本地分支改名為標準的 main

git remote add origin https://github.com/ashley191919/subwise-line-bot.git
git branch -M main
git push -u origin main

實作結果呈現:
https://ithelp.ithome.com.tw/upload/images/20260804/20178527GXayKYF8YR.png

階段三:Flask 程式碼「雲端相容性」改造(Cloud-Ready)

在準備部署至 Render 時,遇到了一個常見的大坑:本地開發監聽 127.0.0.1:5000,但雲端平台會動態分配 PORT,且必須監聽 0.0.0.0

在 ChatGPT 的引導下,我們將 app.py 的進入點進行了優化:

from flask import Flask, jsonify
import os

app = Flask(__name__)

@app.route("/")
def home():
    return jsonify({
        "status": "success",
        "message": "SubWise Backend is running!"
    })

if __name__ == "__main__":
    # 讀取雲端分配的 PORT,若在本地則預設使用 5000
    port = int(os.environ.get("PORT", 5000))
    # host="0.0.0.0" 允許外部網路與 LINE Webhook 連線
    app.run(host="0.0.0.0", port=port)

修改後重新提交 git add .git commitgit push 更新 GitHub。

階段四:Render Web Service 部署與成功驗證

使用 GitHub 帳號登入 Render,建立新的 Web Service 並 Connect 剛剛的 subwise-line-bot 倉庫,關鍵設定如下:

  • Region:Singapore(新加坡,對台灣連線延遲最低)
  • Build Commandpip install -r requirements.txt
  • Start Commandpython app.py

點擊 Deploy Web Service!幾分鐘後,Log 秀出了 Your service is live !點開分配到的 HTTPS 公開網址,成功看到了回傳的 JSON 測試訊息:

{
  "message": "SubWise Backend is running!",
  "status": "success"
}

實作結果呈現:
https://ithelp.ithome.com.tw/upload/images/20260804/20178527aO6MIoowwI.png


明日預告

雲端後端心臟已經順利在網路上跳動了!明天 Day 04,我們將把這個 Render 網址綁定到 LINE Developers 的 Webhook,實現「在 LINE 發送訊息,雲端 Flask 伺服器即時回應」的第一次真正互動!我們明天見!


上一篇
[Day 02] ChatGPT 引導建立 Python 本地環境,SubWise 第一支 Flask 後端誕生
下一篇
[Day 04] 讓 SubWise 與 LINE 建立連線:完成 Webhook 通訊架構
系列文
AI 時代的輕量化開發:ChatGPT 打造 LINE 多模態記帳與續訂預警 Agent4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言